<!--
  Copyright [2025] [OBARA (Nanjing) Electromechanical Co., Ltd]

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->


{% extends 'base.html' %}

{% block title %}CSV数据导入 - 小原焊枪选型数据库{% endblock %}

{% block content %}
<div class="row">
    <div class="col-12">
        <div class="d-flex justify-content-between align-items-center mb-4 fade-in-up">
            <h1 class="display-6 fw-bold">
                <i class="bi bi-upload me-2"></i>
                CSV数据导入
            </h1>
            <div>
                <a href="{% url 'clamps:management_dashboard' %}" class="btn btn-outline-secondary">
                    <i class="bi bi-arrow-left me-2"></i>
                    返回仪表板
                </a>
            </div>
        </div>

        <div class="card fade-in-up">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="bi bi-file-earmark-spreadsheet me-2"></i>
                    导入CSV文件
                </h5>
            </div>
            <div class="card-body">
                {% if messages %}
                    {% for message in messages %}
                        <div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
                            {{ message }}
                            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                        </div>
                    {% endfor %}
                {% endif %}

                <form method="post" enctype="multipart/form-data" action="{% url 'clamps:import_csv' %}">
                    {% csrf_token %}
                    <div class="mb-3">
                        <label for="csv_file" class="form-label">选择CSV文件</label>
                        <input class="form-control" type="file" id="csv_file" name="csv_file" accept=".csv" required>
                        <div class="form-text">
                            请上传符合产品数据结构的CSV文件。文件名应为分类名，例如：<code>X2C-C.csv</code>。
                        </div>
                    </div>
                    <button type="submit" class="btn btn-primary">
                        <i class="bi bi-cloud-upload me-2"></i>
                        上传并导入
                    </button>
                </form>

                <hr class="my-4">

                <h6><i class="bi bi-info-circle me-2"></i>导入说明</h6>
                <ul class="list-unstyled">
                    <li class="mb-2">
                        <i class="bi bi-check-circle text-success me-2"></i>
                        <strong>文件格式：</strong> <span style="color: red;">上传前必须使用 <code>process_csv.py</code> 程序对csv文件进行标准化处理。</span>
                    </li>
                    <li class="mb-2">
                        <i class="bi bi-check-circle text-success me-2"></i>
                        <strong>文件命名：</strong> CSV文件名（不含扩展名）将被视为产品分类名称，例如 <code>X2C-C.csv</code> 将导入到 <code>X2C-C</code> 分类下。分类不存在时会自动创建分类。
                    </li>
                    <li class="mb-2">
                        <i class="bi bi-check-circle text-success me-2"></i>
                        <strong>表头匹配：</strong> CSV文件中的列名必须与系统中的产品字段名称严格匹配。20250801更新字段为（描述、图号1(o)、产品子分类类型、行程、电极臂端部、加压力、电极臂、变压器、重量、变压器放置方向、法兰P.C.D、托架方向、托架角度、MOTOR厂家、托架个数、齿轮箱型式、托架材料、齿轮箱行程、换枪装置、喉深、有无平衡、喉宽、水路、握杆伸出长度、偏心距离、偏心方向、偏心是否回到中心面、导向方式、静臂偏心、静电极臂端部、动臂偏心、动电极臂端部、支轴到驱动中心距离、静电极臂前部长、静电极臂前部高、动电极臂前部长、动电极臂前部高）
                    </li>
                    <li class="mb-2">
                        <i class="bi bi-check-circle text-success me-2"></i>
                        <strong>数据更新：</strong> 如果导入的数据中“图号1(o)”已存在，则更新现有记录；否则，创建新记录。
                    </li>
                    <li class="mb-2">
                        <i class="bi bi-exclamation-triangle text-warning me-2"></i>
                        <strong>注意事项：</strong> 导入前请务必备份数据库。导入过程中若遇到错误，请检查CSV文件格式和数据有效性。
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>
{% endblock %}


